/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package CallCenterComunicate;
import javax.swing.JOptionPane;
import java.sql.*;

import GuiCallCenter.*;





public class Cliente {
    
String Nombre,Rut,Ciudad,Voz,Tv,Internet,Descripcion,Email,Telefono,Deuda,HboHd,HboPlus,PlanInfantil,PlanFutbol;
int Deco ;

conectate con;

    public Cliente() {
        con = new conectate();
    }

    public Cliente(String Nombre, String Rut, String Ciudad, String Voz, String Tv, String Internet, String Descripcion, String Email, String Telefono, String Deuda, String HboHd, String HboPlus, String PlanInfantil, String PlanFutbol, int Deco) {
        this.Nombre = Nombre;
        this.Rut = Rut;
        this.Ciudad = Ciudad;
        this.Voz = Voz;
        this.Tv = Tv;
        this.Internet = Internet;
        this.Descripcion = Descripcion;
        this.Email = Email;
        this.Telefono = Telefono;
        this.Deuda = Deuda;
        this.HboHd = HboHd;
        this.HboPlus = HboPlus;
        this.PlanInfantil = PlanInfantil;
        this.PlanFutbol = PlanFutbol;
        this.Deco = Deco;
    }


        public void NuevaPersona(String Rut, String Nombre, String Ciudad, String Voz,String Tv,String Internet,String Email,String Telefono,String Deuda,int Deco,String HboHd,String HboPlus,String PlanInfantil, String PlanFutbol){
//       public void NuevaPersona(String name, String ap, String am, String mail){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into Cliente(Rut,Nombre,Ciudad,Voz,Tv,Internet,Email,Telefono,Deuda,Deco,HboHd,HboPlus,PlanInfantil,PlanFutbol) " +
                    " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");            
            pstm.setString(1, Rut);
            pstm.setString(2, Nombre);
            pstm.setString(3, Ciudad);                        
            pstm.setString(4,Voz); 
            pstm.setString(5,Tv);
            pstm.setString(6,Internet);
            pstm.setString(7,Email);
            pstm.setString(8,Telefono);
            pstm.setString(9,Deuda);
            pstm.setInt(10,Deco);
            pstm.setString(11,HboHd);
            pstm.setString(12,HboPlus);
            pstm.setString(13,PlanInfantil);
            pstm.setString(14,PlanFutbol);
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   }
 
        public void deletePersona(String Rut){  
            try {                
                PreparedStatement pstm = con.getConnection().prepareStatement("delete from Cliente "+ " where Rut = ?");            
                pstm.setString(1, Rut);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            System.out.println(e);
            }            
    }

        public Object [][] getDatos(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement  pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM Cliente ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
      
    Object[][] data = new String[registros][14];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
          PreparedStatement  pstm = con.getConnection().prepareStatement("SELECT Rut, Nombre,Ciudad,Voz,Tv,Internet,Email,Telefono,Deuda,Deco,HboHd,HboPlus,PlanInfantil,PlanFutbol FROM Cliente ORDER BY Rut ");
                 //+
            //" ORDER BY Rut ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estRut = res.getString("Rut");
            String estNombre=res.getString("Nombre");
            String estCiudad= res.getString("Ciudad");
            String estVoz = res.getString("Voz");
            String estTv= res.getString("Tv");
            String estInternet = res.getString("Internet");
           
            String estEmail= res.getString("Email");
            String estTelefono=res.getString("Telefono");
            String estDeuda=res.getString("Deuda");
            String estDeco = Integer.toString(res.getInt("Deco"));
            String estHboHd=res.getString("HboHd");
            String estHboPlus=res.getString("HboPlus");
            String estPlanInfantil=res.getString("PLanInfantil");
            String estPlanFutbol=res.getString("PlanFutbol");
                                                 
            data[i][0] = estRut;            
            data[i][1] = estNombre;            
            data[i][2] = estCiudad;            
            data[i][3] = estVoz;            
            data[i][4] = estTv; 
            data[i][5] = estInternet;
           
            data[i][6] = estEmail;
            data[i][7] = estTelefono;
            data[i][8] = estDeuda;
            data[i][9] = estDeco;  
            data[i][10]=estHboHd;
            data[i][11]= estHboPlus;
            data[i][12]= estPlanInfantil;
            data[i][13]= estPlanFutbol;
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
 }    

        public void updatePersona(String Rut,String Voz,String Tv,String Internet,int Deco,String HboHd,String HboPlus,String PlanInfantil, String PlanFutbol){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("update Cliente " + //ATENCION UPDATE PERSONA
            "set Voz = ? ," +
            "Tv = ? ," +
            "Internet=?,"+
            "Deco = ? ," +
            "HboHd = ?, " +
            "HboPlus = ?, " +
            "PlanInfantil=?,"+
            "PlanFutbol=?"+
            "where Rut = ? ");            
            pstm.setString(1, Voz);                   
            pstm.setString(2, Tv);
            pstm.setString(3, Internet);
            pstm.setInt(4, Deco);
            pstm.setString(5, HboHd);
            pstm.setString(6, HboPlus);
            pstm.setString(7,PlanInfantil);
            pstm.setString(8,PlanFutbol);
            pstm.setString(9,String.valueOf(Rut));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println(e);
      }
   } 
     
         public Cliente buscar(String Rut){
        Cliente u=null;
        Connection cn=null;
        PreparedStatement pr=null;
        ResultSet rs=null;
        try{
            conectate c=new conectate();
            cn=c.getConnection();
            String sql="SELECT * FROM Cliente where Rut=?";
            pr=cn.prepareStatement(sql);
            pr.setString(1,String.valueOf(Rut));
            rs=pr.executeQuery();
            while(rs.next()){
                u=new Cliente();
                u.setRut(rs.getString("Rut"));
                u.setNombre(rs.getString("Nombre"));
                u.setCiudad(rs.getString("Ciudad"));
                u.setVoz(rs.getString("Voz"));
                u.setTv(rs.getString("Tv"));
                u.setInternet(rs.getString("Internet"));
                u.setEmail(rs.getString("Email"));
                u.setTelefono(rs.getString("Telefono"));
                u.setDeuda(rs.getString("Deuda"));                
                u.setDeco(rs.getInt("Deco"));
                u.setHboHd(rs.getString("HboHd"));
                u.setHboPlus(rs.getString("HboPlus"));
                u.setPlanInfantil(rs.getString("PlanInfantil"));
                u.setPlanFutbol(rs.getString("PlanFutbol"));
                break;
            }
        }catch(SQLException e){
            JOptionPane.showMessageDialog(null, e);
            u=null;
        }finally{
            try{
                rs.close();
                pr.close();
                rs.close();
            }catch(SQLException e){
                JOptionPane.showMessageDialog(null, e);
            }
        }
        return u;
         }

    public String getHboHd() {
        return HboHd;
    }

    public void setHboHd(String HboHd) {
        this.HboHd = HboHd;
    }

    public String getHboPlus() {
        return HboPlus;
    }

    public void setHboPlus(String HboPlus) {
        this.HboPlus = HboPlus;
    }

    public String getPlanInfantil() {
        return PlanInfantil;
    }

    public void setPlanInfantil(String PlanInfantil) {
        this.PlanInfantil = PlanInfantil;
    }

    public String getPlanFutbol() {
        return PlanFutbol;
    }

    public void setPlanFutbol(String PlanFutbol) {
        this.PlanFutbol = PlanFutbol;
    }
         
        public String getNombre() {
        return Nombre;
        }

         public void setNombre(String Nombre) {
        this.Nombre = Nombre;
         }

        public String getRut() {
        return Rut;
         }

        public void setRut(String Rut) {
           this.Rut = Rut;
          
        }

        public String getCiudad() {
        return Ciudad;
        }

        public void setCiudad(String Ciudad) {
        this.Ciudad = Ciudad;
        }

        public String getVoz() {
        return Voz;
        }

        public void setVoz(String Voz) {
        this.Voz = Voz;
        }

        public String getTv() {
        return Tv;
         }

        public void setTv(String Tv) {
        this.Tv = Tv;
        }

    public String getInternet() {
        return Internet;
    }

    public void setInternet(String Internet) {
        this.Internet = Internet;
    }

    public String getDescripcion() {
        return Descripcion;
    }

    public void setDescripcion(String Descripcion) {
        this.Descripcion = Descripcion;
    }

    public String getEmail() {
        return Email;
    }

    public void setEmail(String Email) {
        this.Email = Email;
    }

    public String getTelefono() {
        return Telefono;
    }

    public void setTelefono(String Telefono) {
        this.Telefono = Telefono;
    }

    public String getDeuda() {
        return Deuda;
    }

    public void setDeuda(String Deuda) {
        this.Deuda = Deuda;
    }

    public int getDeco() {
        return Deco;
    }

    public void setDeco(int Deco) {
        this.Deco = Deco;
    }
    
}
